Dubic EMA StrategyThe Dubic EMA Strategy is a trend-following and volatility-aware strategy that combines dual EMA filters with intelligent range and noise detection to provide clean, actionable entries. It's designed to avoid choppy markets, enhance trade precision, and adapt to different market conditions.
✅ Key Features:
Dual EMA Filter: Enters long when price is above both EMA High & EMA Low, and short when below both.
Range Filter: Avoids entries during tight consolidations or sideways markets.
Volatility Filter: Prevents trading in low-ATR conditions.
Dynamic Risk Management:
ATR-based or fixed % Stop Loss and Take Profit.
Optional Parabolic SAR trailing stop.
One Trade per Trend: Prevents re-entry until trend direction changes.
Unbroken Range Visualization: Detects and displays consolidation zones that can lead to breakouts.
Alerts & Labels: Clean BUY/SELL signals with alerts and chart labels.
🧩 Customization Options:
Adjustable EMA length
Toggle between ATR or % based SL/TP
Volatility threshold
Range detection sensitivity
Enable/disable SAR trailing stop
This strategy works best on trending assets and timeframes with volatility (e.g., crypto, forex, indices). Suitable for both manual trading and automation.
🛠️ Built for clarity, control, and precision.
📈 Backtest, optimize, and deploy with confidence.
Buscar en scripts para "Trailing stop"
Opening Range v3 (Dynamic)Opening Range Signals v3 (Dynamic) - Indicator Guide
Created by: MecarderoAurum
Why This Indicator Exists: An Overview
The "Opening Range Signals" indicator is a sophisticated tool designed for day traders who focus their strategy on the price action that unfolds during the Regular Trading Hours (RTH) of the New York session (09:30 - 16:00 ET). The opening period of the market, often called the "initial balance," is a critical time where institutions and traders establish the early high and low for the day. Trading the breakout of this range is a classic and effective strategy, but it's often plagued by false moves and "head fakes."
This indicator was built to solve that problem. It not only identifies the initial range but also incorporates a powerful dynamic expansion feature. This allows the indicator to intelligently adapt to early session volatility, filter out false breakouts, and establish more reliable support and resistance levels for the rest of the trading day. It provides a clear, visual framework for executing opening range strategies with more confidence.
Key Features & How to Use Them
1. Customizable Opening Range
This is the foundation of the indicator. It draws the high and low of the initial trading period on your chart.
What it does: Establishes the initial support and resistance levels for the day.
How to use it: In the settings under "Time Settings," you can set the "Opening Range Duration" from 1 to 30 minutes. A shorter duration (e.g., 5 minutes) will be more sensitive and give earlier signals, while a longer duration (e.g., 30 minutes) will establish a wider, more robust range.
2. Dynamic Range Expansion
This is the indicator's most powerful and unique feature. It helps you avoid getting trapped in false breakouts.
What it does: If the price breaks out of the initial range but then quickly closes back inside, the indicator will automatically expand the range to include the full wick of the failed breakout. This tells you the market is still establishing its true range.
How to use it: In the settings under "Dynamic Range," you can:
"Enable Dynamic Range Expansion": This is on by default.
"Expansion Time Limit (Min)": Set how long the indicator should look for these failed breakouts. After this time, the range will be locked for the day.
3. Clear Visual Trading Signals
The indicator provides three distinct signals to help you interpret the price action around the opening range.
Breakout Body (Yellow plotshape):
What it means: The first confirmation that the price has decisively moved outside the established range. It appears when a candle's body closes entirely above the high or below the low.
How to use it: This is your alert that a potential breakout is underway. Do not enter yet; wait for confirmation.
Continuation (Green plotshape):
What it means: This signal appears on the candle immediately following a breakout if it shows momentum in the same direction. It confirms that the breakout has strength.
How to use it: This is a potential entry trigger. A continuation signal suggests the breakout is valid and may continue.
Failure (Red plotshape):
What it means: This signal appears if, after a breakout and continuation, the price quickly reverses and closes back inside the range. It's a strong indication of a false breakout.
How to use it: If you are in a breakout trade, a failure signal is a clear sign to exit. It can also be used as a setup for a reversal trade in the opposite direction.
Sample Strategy: The Breakout-Continuation Trade
This strategy uses the indicator's signals to trade a classic opening range breakout with added confirmation.
Setup:
Set the "Opening Range Duration" to your preferred time (e.g., 5 or 15 minutes).
Ensure the "Dynamic Range Expansion" is enabled to filter out early noise.
Entry Trigger:
Wait for a Breakout signal (yellow) to appear. This puts you on high alert.
Wait for a Continuation signal (green) on the very next candle. This is your entry trigger. Enter a long trade on a bullish continuation or a short trade on a bearish continuation.
Stop-Loss:
For a bullish (long) trade, a common stop-loss placement is just below the low of the continuation candle or, for a more conservative stop, just inside the opening range high.
For a bearish (short) trade, place your stop-loss just above the high of the continuation candle or just inside the opening range low.
Trade Management:
If a Failure signal (red) appears after you've entered, it indicates the breakout has failed. This is a strong signal to exit your trade immediately to protect your capital.
If the trade moves in your favor, you can manage it by taking profits at key levels or using a trailing stop.
Drunken Bird Inspiration for the support and resistance plateau lines came from AnotherDAPTrader.
The TSL Drunken Bird is an enhanced technical analysis tool for swing traders on TradingView, based on the original Accurate Swing Trading System by ceyhun. It generates buy and sell signals when price crosses a dynamic Trailing Stop Loss (TSL) level derived from recent highs and lows. This version introduces plateau detection for support and resistance lines, dynamic label expiration to reduce clutter, customizable line styles and decay, and improved HTF confluence for trend-aligned trading. Visual elements include signal labels, horizontal lines, a colored TSL plot, and optional bar/background coloring. Alerts are available for buy/sell crossovers, making it suitable for assets like NASDAQ E-mini futures, stocks, forex, and more.
This script adapts and expands upon ceyhun's original codetradingview.com, adding significant features such as tolerance-based plateau identification for support/resistance, label management with timeframe-aware expiration (~7 days), cross-count decay for lines, and expanded customization options. Inspiration for the support and resistance plateau lines came from AnotherDAPTrader. Released under the Mozilla Public License 2.0.Key
Features
Swing Signals: "BUY" and "SELL" labels on price crossovers/crossunders of the TSL, with a user-defined lookback (default 3).
HTF Confluence: Filters signals based on higher timeframe trend (e.g., "EXIT LONG" instead of "SELL" if HTF is bullish); toggleable.
HTF Options: Select from 5m, 15m, 30m, 1h, 4h, Daily, Weekly, or Monthly.
Plateau Detection: Identifies flat highs/lows (with tolerance) for resistance/support lines, plotted as dotted/solid/dashed with customizable colors, thickness, and decay after crosses (default 2).
Horizontal Lines: Green (buy) and red (sell) lines at signal closes, extending right until crossed; toggle between short (no extension limit) or long visualization.
TSL Visualization: Colored line (green if close >= TSL, red otherwise) for dynamic levels.
Bar/Background Coloring: Optional green/red coloring based on price vs. TSL.
Label Expiration: All labels (signals and plateaus) auto-delete after ~7 days (timeframe-adjusted, default 1008 bars).
Alerts: Triggers for "Buy Signal" and "Sell Signal" on crossovers.
How to Use
Add to Chart: Paste the Pine Script into TradingView's editor and add to your chart.
Configure Settings:
Swing: Lookback for highs/lows (min 1).
Plateau Tolerance: Flatness allowance (default 0.0).
Use HTF Confluence: Enable for trend filtering.
Higher Time Frame: Choose timeframe string.
Barcolor/Bgcolor: Toggle coloring.
Show Plateau Lines: Enable support/resistance.
Line Styles/Colors/Thickness: Customize buy/sell and plateau visuals.
Plateau Line Decay: Crosses before stopping extension.
Label Expiration: Bars for auto-deletion (~7 days).
Interpret Elements:
Labels: "BUY"/"SELL" (green/red), "EXIT SHORT"/"EXIT LONG" (orange) on signals; "Res"/"Sup" on plateaus.
Lines: Extend right until conditions met (cross for buy/sell, decay threshold for plateaus).
TSL Plot: Monitors trend shifts.
Set Alerts: Use "Buy Signal" or "Sell Signal" conditions for notifications.
Testing: Apply to volatile assets; adjust Swing for signal frequency, tolerance for plateau sensitivity.
Ideal Use Cases
Swing trading on 1m–1h charts for entries/exits aligned with HTF trends.
Identifying support/resistance in ranging markets via plateaus.
Scalping with short lookbacks or longer swings with HTF enabled.
Manual or alert-based trading on futures, stocks, or forex.
Why It's Valuable
This indicator builds on ceyhun's core TSL logic with practical enhancements for modern trading: clutter reduction via expiration/decay, visual customization, and plateau-based S/R for better context. It promotes disciplined, trend-aware decisions while maintaining simplicity.
Note: Optimized for any timeframe/asset; test in demo. Not financial advice—use with risk management.
Breakout Confirmation🔍 Indicator Name: Breakout Confirmation (Body + Volume)
📌 Purpose:
This indicator is designed to detect high-probability breakout setups based on price structure and volume strength. It identifies moments when the market breaks through a key support or resistance level, confirmed by two consecutive strong candles with large real bodies and high volume.
⚙️ How It Works
1. Support and Resistance Detection
The indicator uses pivot points to identify potential horizontal support and resistance levels.
A pivot high or pivot low is considered valid if it stands out over a configurable number of candles (default: 50).
Only the most recent valid support and resistance levels are tracked and displayed as horizontal lines on the chart.
2. Breakout Setup
The breakout condition is defined as:
First Candle (Breakout Candle):
Large body (compared to the recent body average)
High volume (compared to the recent volume average)
Must close beyond a resistance or support level:
Close above resistance (bullish breakout)
Close below support (bearish breakout)
Second Candle (Confirmation Candle):
Also must have a large body and high volume
Must continue in the direction of the breakout (i.e., higher close in bullish breakouts, lower close in bearish ones)
3. Signal Plotting
If both candles meet the criteria, the indicator plots:
A green triangle below the candle for bullish breakouts
A red triangle above the candle for bearish breakouts
📈 How to Interpret the Signals
✅ Green triangle below a candle:
Indicates a confirmed bullish breakout.
The price has closed above a recent resistance level with strength.
The trend may continue higher — possible entry for long positions.
🔻 Red triangle above a candle:
Indicates a confirmed bearish breakout.
The price has closed below a recent support level with strength.
Potential signal to enter short or exit long positions.
⚠️ The plotted horizontal lines show the last key support and resistance levels. These are the zones being monitored for breakouts.
📊 How to Use It
Timeframe: Works best on higher timeframes (1H, 4H, Daily), but can be tested on any chart.
Entry: Consider entries after the second candle confirms the breakout.
Stop Loss:
For longs: Below the breakout candle or the broken resistance
For shorts: Above the breakout candle or broken support
Take Profit:
Based on previous structure, risk:reward ratios, or using trailing stops.
Filter with Trend or Other Indicators (optional):
You can combine this with moving averages, RSI, or market structure for confluence.
🛠️ Customization Parameters
lengthSR: How many candles to look back for identifying support/resistance pivots.
volLength: Length of the moving average for volume and body size comparison.
bodyMultiplier: Multiplier threshold to define a “large” body.
volMultiplier: Multiplier threshold to define “high” volume.
✅ Ideal For:
Price action traders
Breakout traders
Traders who use volume analysis
Anyone looking to automate the detection of breakout + confirmation setups
BackTestLibLibrary "BackTestLib"
Allows backtesting indicator performance. Tracks typical metrics such as won/loss, profit factor, draw down, etc. Trading View strategy library provides similar (and more comprehensive)
functionality but only works with strategies. This libary was created to address performance tracking within indicators.
Two primary outputs are generated:
1. Summary Table: Displays overall performance metrics for the indicator over the chart's loaded timeframe and history
2. Details Table: Displays a table of individual trade entries and exits. This table can grow larger than the available chart space. It does have a max number of rows supported. I haven't
found a way to add scroll bars or scroll bar equivalents yet.
f_init(data, _defaultStopLoss, _defaultTakeProfit, _useTrailingStop, _useTraingStopToBreakEven, _trailingStopActivation, _trailingStopOffset)
f_init Initialize the backtest data type. Called prior to using the backtester functions
Parameters:
data (backtesterData) : backtesterData to initialize
_defaultStopLoss (float) : Default trade stop loss to apply
_defaultTakeProfit (float) : Default trade take profit to apply
_useTrailingStop (bool) : Trailing stop enabled
_useTraingStopToBreakEven (bool) : When trailing stop active, trailing stop will increase no further than the entry price
_trailingStopActivation (int) : When trailing stop active, trailing will begin once price exceeds base stop loss by this number of points
_trailingStopOffset (int) : When trailing stop active, it will trail the max price achieved by this number of points
Returns: Initialized data set
f_buildResultStr(_resultType, _price, _resultPoints, _numWins, _pointsWon, _numLoss, _pointsLost)
f_buildResultStr Helper function to construct a string of resutling data for exit tooltip labels
Parameters:
_resultType (string)
_price (float)
_resultPoints (float)
_numWins (int)
_pointsWon (float)
_numLoss (int)
_pointsLost (float)
f_buildResultLabel(data, labelVertical, labelOffset, long)
f_buildResultLabel Helper function to construct an Exit label for display on the chart
Parameters:
data (backtesterData)
labelVertical (bool)
labelOffset (int)
long (bool)
f_updateTrailingStop(_entryPrice, _curPrice, _sl, _tp, trailingStopActivationInput, trailingStopOffsetInput, useTrailingStopToBreakEven)
f_updateTrailingStop Helper function to advance the trailing stop as price action dictates
Parameters:
_entryPrice (float)
_curPrice (float)
_sl (float)
_tp (float)
trailingStopActivationInput (float)
trailingStopOffsetInput (float)
useTrailingStopToBreakEven (bool)
Returns: Updated stop loss for current price action
f_enterShort(data, entryPrice, fixedStopLoss)
f_enterShort Helper function to enter a short and collect data necessary for tracking the trade entry
Parameters:
data (backtesterData)
entryPrice (float)
fixedStopLoss (float)
Returns: Updated backtest data
f_enterLong(data, entryPrice, fixedStopLoss)
f_enterLong Helper function to enter a long and collect data necessary for tracking the trade entry
Parameters:
data (backtesterData)
entryPrice (float)
fixedStopLoss (float)
Returns: Updated backtest data
f_exitTrade(data)
f_enterLong Helper function to exit a trade and update/reset tracking data
Parameters:
data (backtesterData)
Returns: Updated backtest data
f_checkTradeConditionForExit(data, condition, curPrice, enableRealTime)
f_checkTradeConditionForExit Helper function to determine if provided condition indicates an exit
Parameters:
data (backtesterData)
condition (bool) : When true trade will exit
curPrice (float)
enableRealTime (bool) : When true trade will evaluate if barstate is relatime or barstate is confirmed; otherwise just checks on is confirmed
Returns: Updated backtest data
f_checkTrade(data, curPrice, curLow, curHigh, enableRealTime)
f_checkTrade Helper function to determine if current price action dictates stop loss or take profit exit
Parameters:
data (backtesterData)
curPrice (float)
curLow (float)
curHigh (float)
enableRealTime (bool) : When true trade will evaluate if barstate is relatime or barstate is confirmed; otherwise just checks on is confirmed
Returns: Updated backtest data
f_fillCell(_table, _column, _row, _title, _value, _bgcolor, _txtcolor, _text_size)
f_fillCell Helper function to construct result table cells
Parameters:
_table (table)
_column (int)
_row (int)
_title (string)
_value (string)
_bgcolor (color)
_txtcolor (color)
_text_size (string)
Returns: Table cell
f_prepareStatsTable(data, drawTesterSummary, drawTesterDetails, summaryTableTextSize, detailsTableTextSize, displayRowZero, summaryTableLocation, detailsTableLocation)
f_fillCell Helper function to populate result table
Parameters:
data (backtesterData)
drawTesterSummary (bool)
drawTesterDetails (bool)
summaryTableTextSize (string)
detailsTableTextSize (string)
displayRowZero (bool)
summaryTableLocation (string)
detailsTableLocation (string)
Returns: Updated backtest data
backtesterData
backtesterData - container for backtest performance metrics
Fields:
tradesArray (array) : Array of strings with entries for each individual trade and its results
pointsBalance (series float) : Running sum of backtest points won/loss results
drawDown (series float) : Running sum of backtest total draw down points
maxDrawDown (series float) : Running sum of backtest total draw down points
maxRunup (series float) : Running sum of max points won over the backtest
numWins (series int) : Number of wins of current backtes set
numLoss (series int) : Number of losses of current backtes set
pointsWon (series float) : Running sum of points won to date
pointsLost (series float) : Running sum of points lost to date
entrySide (series string) : Current entry long/short
tradeActive (series bool) : Indicates if a trade is currently active
tradeComplete (series bool) : Indicates if a trade just exited (due to stop loss or take profit)
entryPrice (series float) : Current trade entry price
entryTime (series int) : Current trade entry time
sl (series float) : Current trade stop loss
tp (series float) : Current trade take profit
defaultStopLoss (series float) : Default trade stop loss to apply
defaultTakeProfit (series float) : Default trade take profit to apply
useTrailingStop (series bool) : Trailing stop enabled
useTrailingStopToBreakEven (series bool) : When trailing stop active, trailing stop will increase no further than the entry price
trailingStopActivation (series int) : When trailing stop active, trailing will begin once price exceeds base stop loss by this number of points
trailingStopOffset (series int) : When trailing stop active, it will trail the max price achieved by this number of points
resultType (series string) : Current trade won/lost
exitPrice (series float) : Current trade exit price
resultPoints (series float) : Current trade points won/lost
summaryTable (series table) : Table to deisplay summary info
tradesTable (series table) : Table to display per trade info
BackToBasic XEMAบทความอธิบายสคริปต์ “BackToBasic XEMA”
ภาษาไทย
แนวคิดโดยย่อ
BackToBasic XEMA เกิดจากแนวคิด “กลับสู่พื้นฐานแต่เพิ่มประโยชน์” โดยใช้สัญญาณ EMA Crossover เป็นแกนหลัก แล้วต่อยอดด้วยการแสดงกำไร/ขาดทุนจริง (PnL) และเส้น Trailing Stop แนวนอน เพื่อช่วยวัดประสิทธิภาพและป้องกันการคืนกำไร
กลไกการทำงาน
Dual EMA – คำนวณ EMA สองเส้น (Fast และ Slow)
Crossover Signal – ออกสัญญาณ Buy เมื่อ Fast ตัดขึ้น Slow และ Sell เมื่อ Fast ตัดลง Slow
PnL Lines & Labels – เมื่อทิศทางกลับตัว ระบบจะคำนวณส่วนต่างราคา × จำนวน Contracts แล้ววาดเส้นเชื่อมจุดเข้า–ออก พร้อมป้ายกำไร/ขาดทุนสีเขียว / แดง
Horizontal Trailing Stop – เมื่อราคาวิ่งไปทางกำไรเกิน trailStartPips ระบบจะสร้างเส้น Trail ห่างจาก EMA อ้างอิงด้วย trailBufferPips และเลื่อนเฉพาะในทางที่ล็อกกำไร
การตั้งค่าใช้งาน (สรุปเป็นคำอธิบาย)
ปรับค่า Fast/Slow EMA ให้สัมพันธ์กับกรอบเวลาและความผันผวนของสินทรัพย์
กรอกจำนวน Contracts ตามขนาดโพซิชันจริงเพื่อให้ค่า PnL สมจริง
ค่า Trail เริ่มต้นเหมาะกับกราฟ 1 ชั่วโมงขึ้นไป หากเทรดสั้นอาจลด trailStartPips และ trailBufferPips
แนะนำใช้กับสินทรัพย์สภาพคล่องสูง (คู่เงินหลัก, XAUUSD, ดัชนี) และทดสอบบนบัญชีเดโมก่อนเสมอ
จุดเด่นเมื่อเทียบกับ EMA Crossover พื้นฐาน
เห็นผลกำไร/ขาดทุนของแต่ละการเทรดทันที ไม่ต้องคำนวณย้อนหลัง
มีเส้น Trailing Stop แนวนอนช่วยล็อกกำไรและจำกัดขาดทุน
เปิด–ปิดฟังก์ชัน PnL และ Trailing ได้จากหน้าตั้งค่า ไม่ยุ่งยาก
ข้อจำกัดและคำเตือน
ไม่เหมาะกับกราฟแบบ Heikin Ashi หรือ Renko เพราะอาจเกิด repaint
PnL คำนวณจากส่วนต่างราคาเท่านั้น ไม่รวมค่าคอมมิชชันหรือสลิปเพจ
ผลลัพธ์ในอดีตไม่รับประกันอนาคต ควรจัดการความเสี่ยงและทดลองก่อนใช้งานจริง
ลิขสิทธิ์
สคริปต์นี้พัฒนาใหม่ทั้งหมดโดย , © 2025
English
Concept
BackToBasic XEMA extends a classic EMA-crossover setup with real-time profit-and-loss tracking and a horizontal trailing-stop line, giving traders both clear entry/exit signals and built-in risk management.
How It Works
Dual EMAs – Calculates Fast and Slow EMAs.
Crossover Signals – Generates a Buy when the Fast EMA crosses above the Slow EMA, and a Sell when it crosses below.
PnL Lines & Labels – On every direction flip the script computes price difference × contracts, draws a line from entry to exit, and labels the result in green (profit) or red (loss).
Horizontal Trailing Stop – After price moves in profit by at least trailStartPips, a trail line is placed trailBufferPips away from the chosen EMA and moves only in the trade’s favour.
Practical Settings (plain-language guide)
Adjust Fast/Slow EMA lengths to suit your timeframe and the instrument’s volatility.
Enter your position size in Contracts so PnL lines reflect real cash values.
For shorter timeframes, lower trailStartPips and trailBufferPips; for swing trading, larger values work better.
Best used on 1-hour-and-above charts of liquid symbols (major FX pairs, gold, indices). Forward-test on demo first.
Advantages over a Basic EMA Cross
Instant visual feedback on each trade’s profit or loss.
Built-in horizontal trailing stop to lock in gains and limit downside.
Modular design – PnL and trailing features can be toggled on or off in the input panel.
Limitations & Disclaimer
Not repaint-safe on non-standard chart types such as Heikin Ashi or Renko.
PnL lines show raw price change only; commissions and slippage are not included.
Past performance does not guarantee future results – trade responsibly and test thoroughly.
License
Original Pine Script by , © 2025
Stochastic RSI with MTF TableShort Description of the Script
The provided Pine Script indicator, titled "Stochastic RSI with MTF Table," calculates and displays the Stochastic RSI for the current timeframe and multiple other timeframes (5m, 15m, 30m, 60m, 240m, and daily). The Stochastic RSI is a momentum indicator that blends the Relative Strength Index (RSI) and Stochastic Oscillator to identify overbought and oversold conditions, as well as potential trend reversals via K and D line crossovers.
Key features of the script include:
Inputs: Customizable parameters such as K smoothing (default 3), D smoothing (default 3), RSI length (default 14), Stochastic length (default 14), source price (default close), and overbought/oversold levels (default 80/20).
MTF Table: A table displays the Stochastic RSI status for each timeframe:
"OB" (overbought) if K > 80, "OS" (oversold) if K < 20, or "N" (neutral) otherwise.
Crossovers: "K↑D" for bullish (K crosses above D) and "K↓D" for bearish (K crosses below D).
Visualization: Plots the K and D lines for the current timeframe, with horizontal lines at 80 (overbought), 50 (middle), and 20 (oversold), plus a background fill for clarity.
Table Position: Configurable to appear in one of four chart corners (default: top-right).
This indicator helps traders assess momentum across multiple timeframes simultaneously, aiding in the identification of trend strength and potential entry/exit points.
Trading Strategy with 50EMA and 200EMA for Highest Winning Rate
To create a strategy with the best probability of a high winning rate using the Stochastic RSI MTF indicator alongside the 50-period Exponential Moving Average (50EMA) and 200-period Exponential Moving Average (200EMA), we can combine trend identification with momentum-based entry timing. The 50EMA and 200EMA are widely used to determine medium- and long-term trends, while the Stochastic RSI MTF table provides multi-timeframe momentum signals. Here’s the strategy:
1. Determine the Overall Trend
Bullish Trend: The 50EMA is above the 200EMA on the current timeframe (e.g., daily or 60m chart). This suggests an uptrend, often associated with a "Golden Cross."
Bearish Trend: The 50EMA is below the 200EMA on the current timeframe. This indicates a downtrend, often linked to a "Death Cross."
Implementation: Plot the 50EMA and 200EMA on your chart and visually confirm their relative positions.
2. Identify Entry Signals Using the Stochastic RSI MTF Table
In a Bullish Trend (50EMA > 200EMA):
Look for timeframes in the MTF table showing:
Oversold (OS): K < 20, indicating a potential pullback in the uptrend where price may rebound.
Bullish Crossover (K↑D): K crosses above D, signaling rising momentum and a potential entry point.
Example: If the 60m and 240m timeframes show "OS" or "K↑D," this could be a buy signal.
In a Bearish Trend (50EMA < 200EMA):
Look for timeframes in the MTF table showing:
Overbought (OB): K > 80, suggesting a rally in the downtrend where price may reverse downward.
Bearish Crossover (K↓D): K crosses below D, indicating declining momentum and a potential short entry.
Example: If the 30m and daily timeframes show "OB" or "K↓D," this could be a sell/short signal.
Current Timeframe Check: Use the plotted K and D lines on your trading timeframe for precise entry timing (e.g., confirm a K↑D crossover on a 60m chart for a long trade).
3. Confirm Signals Across Multiple Timeframes
Strengthen the Signal: A higher winning rate is more likely when multiple timeframes align with the trend and signal. For instance:
Bullish trend + "OS" or "K↑D" on 60m, 240m, and daily = strong buy signal.
Bearish trend + "OB" or "K↓D" on 15m, 60m, and 240m = strong sell signal.
Prioritize Higher Timeframes: Signals from the 240m or daily timeframe carry more weight due to their indication of broader trends, increasing reliability.
4. Set Stop-Loss and Take-Profit Levels
Long Trades (Bullish):
Stop-Loss: Place below the most recent swing low or below the 50EMA, whichever is closer, to protect against trend reversals.
Take-Profit: Target a key resistance level or use a risk-reward ratio (e.g., 2:1 or 3:1) based on the stop-loss distance.
Short Trades (Bearish):
Stop-Loss: Place above the most recent swing high or above the 50EMA, whichever is closer.
Take-Profit: Target a key support level or apply a similar risk-reward ratio.
Trailing Stop Option: As the trend progresses, trail the stop below the 50EMA (for longs) or above it (for shorts) to lock in profits.
5. Risk Management
Position Sizing: Risk no more than 1-2% of your trading capital per trade to minimize losses from false signals.
Volatility Consideration: Adjust stop-loss distances and position sizes based on the asset’s volatility (e.g., wider stops for volatile stocks or crypto).
Avoid Overtrading: Wait for clear alignment between the EMA trend and MTF signals to avoid low-probability setups.
Example Scenario
Chart: 60-minute timeframe.
Trend: 50EMA > 200EMA (bullish).
MTF Table: 60m shows "OS," 240m shows "K↑D," and daily is "N."
Action: Enter a long position when the 60m K line crosses above D, confirming the table signal.
Stop-Loss: Below the recent 60m swing low (e.g., 2% below entry).
Take-Profit: At the next resistance level or a 3:1 reward-to-risk ratio.
Outcome: High probability of success due to trend alignment and multi-timeframe confirmation.
Why This Strategy Works
Trend Following: Trading in the direction of the 50EMA/200EMA trend reduces the risk of fighting the market’s momentum.
Momentum Timing: The Stochastic RSI MTF table pinpoints pullbacks or reversals within the trend, improving entry timing.
Multi-Timeframe Confirmation: Alignment across timeframes filters out noise, increasing the win rate.
Risk Control: Defined stop-loss and position sizing protect against inevitable losses.
Caveats
No strategy guarantees a 100% win rate; false signals can occur, especially in choppy markets.
Test this strategy on historical data or a demo account to verify its effectiveness for your asset and timeframe.
This approach leverages the strengths of both trend-following (EMA) and momentum (Stochastic RSI) tools, aiming for a high-probability, disciplined trading system.
Chandelier Exit with ZLSMA SwiftEdgeChandelier Exit with ZLSMA
Overview
The "Chandelier Exit with ZLSMA" indicator is a powerful trading tool designed to identify trend reversals and high-probability entry points in financial markets. By combining the volatility-based Chandelier Exit with the low-lag Zero Lag Least Squares Moving Average (ZLSMA), this indicator provides clear Buy and Sell signals, enhanced with a unique signal strength score to help traders prioritize high-quality opportunities. Visual enhancements, including dynamic color coding, background highlights, and trend arrows, make it intuitive and visually appealing for both novice and experienced traders.
What It Does
This indicator generates Buy and Sell signals when a trend reversal is detected by the Chandelier Exit, but only if the price crosses the ZLSMA for the first time in the direction of the trend. Each signal is accompanied by a percentage score (0-100%) that measures its strength based on price movement and momentum. The indicator overlays directly on the price chart, displaying:
Buy/Sell labels with signal strength (e.g., "Buy (85%)").
A ZLSMA line that changes color (green for bullish, red for bearish) to indicate trend direction.
Background highlights to mark signal candles.
Trend arrows to visually confirm signal points.
How It Works
The indicator combines two complementary components:
Chandelier Exit:
Uses the Average True Range (ATR) to create dynamic trailing stop levels (long_stop and short_stop) that adapt to market volatility.
Signals a Buy when the price crosses above the short stop (indicating a potential uptrend) and a Sell when it crosses below the long stop (indicating a potential downtrend).
Default settings use an ATR period of 1 and a multiplier of 2.0 for high sensitivity to short-term price movements.
Zero Lag LSMA (ZLSMA):
A low-lag moving average based on linear regression, designed to reduce delay compared to traditional moving averages.
Acts as a trend filter: Buy signals are only generated when the price closes above ZLSMA for the first time, and Sell signals when it closes below for the first time.
Default length of 50 balances smoothness with responsiveness.
Signal Strength Score:
Each signal is assigned a score (0-100%) based on:
Distance to ZLSMA (60% weight): How far the price is from ZLSMA, normalized by ATR. Larger distances indicate stronger breakouts.
Candlestick size (40% weight): The size of the signal candle, normalized by ATR. Larger candles suggest stronger momentum.
A high score (e.g., >80%) indicates a robust signal, while a low score (e.g., <50%) suggests caution.
Visual Features:
The ZLSMA line changes color (green for bullish, red for bearish) to reflect the trend.
Signal candles are highlighted with a subtle green (Buy) or red (Sell) background.
Tiny triangular arrows appear below Buy signals and above Sell signals for clear visual confirmation.
Why Combine Chandelier Exit and ZLSMA?
The Chandelier Exit excels at identifying trend reversals through volatility-based stops, but it can generate false signals in choppy markets due to its sensitivity (especially with a short ATR period of 1). The ZLSMA addresses this by acting as a trend filter, ensuring signals are only triggered when the price confirms a trend by crossing the ZLSMA for the first time. This combination reduces noise and focuses on high-probability setups. The signal strength score further enhances decision-making by quantifying the conviction behind each signal, making the indicator feel intuitive and "smart."
How to Use
Setup:
Add the indicator to your chart in TradingView.
Adjust inputs in the settings panel:
ATR Period (default: 1): Controls the sensitivity of Chandelier Exit. Increase for smoother signals.
ATR Multiplier (default: 2.0): Sets the distance of stop levels from price extremes.
ZLSMA Length (default: 50): Adjusts the smoothness of the ZLSMA line. Shorter lengths (e.g., 20-30) are more responsive; longer lengths (e.g., 50-100) are smoother.
Use Close Price for Extremums (default: true): Determines whether Chandelier Exit uses closing prices or high/low prices for calculations.
Interpreting Signals:
Buy Signal: A green "Buy (X%)" label appears below a candle when the price crosses above the Chandelier Exit short stop and closes above ZLSMA for the first time. The percentage indicates signal strength (higher = stronger).
Sell Signal: A red "Sell (X%)" label appears above a candle when the price crosses below the Chandelier Exit long stop and closes below ZLSMA for the first time.
Use the ZLSMA line’s color (green for bullish, red for bearish) to confirm the overall trend.
Prioritize signals with high strength scores (e.g., >70%) for better reliability.
Trading Considerations:
Combine signals with other analysis (e.g., support/resistance, volume) for confirmation.
Test the indicator on a demo account or use TradingView’s Strategy Tester to evaluate performance.
Be cautious with the default ATR period of 1, as it is highly sensitive and may generate frequent signals in volatile markets.
What Makes It Unique
This indicator stands out due to its thoughtful integration of Chandelier Exit and ZLSMA, creating a synergy that balances sensitivity with reliability. The first-cross filter ensures signals are triggered only at the start of potential trends, reducing false positives. The signal strength score adds a layer of intelligence, helping traders assess the quality of each signal without needing external tools. Visual enhancements, such as dynamic ZLSMA coloring, background highlights, and trend arrows, make the indicator user-friendly and visually engaging, appealing to traders seeking a modern, intuitive tool.
Limitations and Notes
The short ATR period (1) makes the indicator highly sensitive, which suits short-term traders but may produce noise in sideways markets. Increase the ATR period for smoother signals.
The signal strength score is a heuristic based on price movement and momentum, not a predictive model. Use it as a guide, not a definitive predictor.
Always backtest the indicator on your preferred market and timeframe to ensure it aligns with your trading strategy.
Exponential Trend [AlgoAlpha]OVERVIEW
This script plots an adaptive exponential trend system that initiates from a dynamic anchor and accelerates based on time and direction. Unlike standard moving averages or trailing stops, the trend line here doesn't follow price directly—it expands exponentially from a pivot determined by a modified Supertrend logic. The result is a non-linear trend curve that starts at a specific price level and accelerates outward, allowing traders to visually assess trend strength, persistence, and early-stage reversal points through both base and volatility-adjusted extensions.
CONCEPTS
This indicator builds on the idea that trend-following tools often need dynamic, non-static expansion to reflect real market behavior. It uses a simplified Supertrend mechanism to define directional context and anchor levels, then applies an exponential growth function to simulate trend acceleration over time. The exponential growth is unidirectional and resets only when the direction flips, preserving trend memory. This method helps avoid whipsaws and adds time-weighted confirmation to trends. A volatility buffer—derived from ATR and modifiable by a width multiplier—adds a second layer to indicate zones of risk around the main trend path.
FEATURES
Exponential Trend Logic : Once a directional anchor is set, the base trend line accelerates using an exponential formula tied to elapsed bars, making the trend stronger the longer it persists.
Volatility-Adjusted Extension : A secondary band is plotted above or below the base trend line, widened by ATR to visualize volatility zones, act as soft stop regions or as a better entry point (Dynamic Support/Resistance).
Color-Coded Visualization : Clear green/red base and extension lines with shaded fills indicate trend direction and confidence levels.
Signal Markers & Alerts : Triangle markers indicate confirmed trend reversals. Built-in alerts notify users of bullish or bearish direction changes in real-time.
USAGE
Use this script to identify strong trends early, visually measure their momentum over time, and determine safe areas for entries or exits. Start by adjusting the *Exponential Rate* to control how quickly the trend expands—the higher the rate, the more aggressive the curve. The *Initial Distance* sets how far the anchor band is placed from price initially, helping filter out noise. Increase the *Width Multiplier* to widen the volatility zone for more conservative entries or exits. When the price crosses above or below the base line, a new trend is assumed and the exponential projection restarts from the new anchor. The base trend and its extension both shift over time, but only reset on a confirmed reversal. This makes the tool especially useful for momentum continuation setups or trailing stop logic in trending markets.
BONK/USD (1H) - $4k DCA + Dual Trailing + Date FilterThis strategy trades BONK/USD on the 1-hour chart, employing a Dollar-Cost Averaging (DCA) approach for long entries.
It initiates a Base Order when a faster Exponential Moving Average (EMA) crosses above a slower one (signaling a potential uptrend, default 9/21 EMA). If the price declines after entry, it can automatically place up to two additional Safety Orders at predetermined lower levels, calculated using either Average True Range (ATR) volatility or fixed percentage drops.
Exits are triggered by a trend reversal (EMA crossunder) or a dual trailing stop-loss mechanism, which includes both a standard trail and a tighter profit-locking trail activated after reaching a certain profit target.
The strategy includes user-configurable inputs for all key parameters (EMAs, order sizes, trailing stops, SO spacing) and an optional date filter to limit backtesting or execution to a specific period. It also generates alerts formatted for potential automation with platforms like 3Commas.
BTC Trading RobotOverview
This Pine Script strategy is designed for trading Bitcoin (BTC) by placing pending orders (BuyStop and SellStop) based on local price extremes. The script also implements a trailing stop mechanism to protect profits once a position becomes sufficiently profitable.
________________________________________
Inputs and Parameter Setup
1. Trading Profile:
o The strategy is set up specifically for BTC trading.
o The systemType input is set to 1, which means the strategy will calculate trade parameters using the BTC-specific inputs.
2. Common Trading Inputs:
o Risk Parameters: Although RiskPercent is defined, its actual use (e.g., for position sizing) isn’t implemented in this version.
o Trading Hours Filter:
SHInput and EHInput let you restrict trading to a specific hour range. If these are set (non-zero), orders will only be placed during the allowed hours.
3. BTC-Specific Inputs:
o Take Profit (TP) and Stop Loss (SL) Percentages:
TPasPctBTC and SLasPctBTC are used to determine the TP and SL levels as a percentage of the current price.
o Trailing Stop Parameters:
TSLasPctofTPBTC and TSLTgrasPctofTPBTC determine when and by how much a trailing stop is applied, again as percentages of the TP.
4. Other Parameters:
o BarsN is used to define the window (number of bars) over which the local high and low are calculated.
o OrderDistPoints acts as a buffer to prevent the entry orders from being triggered too early.
________________________________________
Trade Parameter Calculation
• Price Reference:
o The strategy uses the current closing price as the reference for calculations.
• Calculation of TP and SL Levels:
o If the systemType is set to BTC (value 1), then:
Take Profit Points (Tppoints) are calculated by multiplying the current price by TPasPctBTC.
Stop Loss Points (Slpoints) are calculated similarly using SLasPctBTC.
A buffer (OrderDistPoints) is set to half of the take profit points.
Trailing Stop Levels:
TslPoints is calculated as a fraction of the TP (using TSLTgrasPctofTPBTC).
TslTriggerPoints is similarly determined, which sets the profit level at which the trailing stop will start to activate.
________________________________________
Time Filtering
• Session Control:
o The current hour is compared against SHInput (start hour) and EHInput (end hour).
o If the current time falls outside the allowed window, the script will not place any new orders.
________________________________________
Entry Orders
• Local Price Extremes:
o The strategy calculates a local high and local low using a window of BarsN * 2 + 1 bars.
• Placing Stop Orders:
o BuyStop Order:
A long entry is triggered if the current price is less than the local high minus the order distance buffer.
The BuyStop order is set to trigger at the level of the local high.
o SellStop Order:
A short entry is triggered if the current price is greater than the local low plus the order distance buffer.
The SellStop order is set to trigger at the level of the local low.
Note: Orders are only placed if there is no current open position and if the session conditions are met.
________________________________________
Trailing Stop Logic
Once a position is open, the strategy monitors profit levels to protect gains:
• For Long Positions:
o The script calculates the profit as the difference between the current price and the average entry price.
o If this profit exceeds the TslTriggerPoints threshold, a trailing stop is applied by placing an exit order.
o The stop price is set at a distance below the current price, while a limit (profit target) is also defined.
• For Short Positions:
o The profit is calculated as the difference between the average entry price and the current price.
o A similar trailing stop exit is applied if the profit exceeds the trigger threshold.
________________________________________
Summary
In essence, this strategy works by:
• Defining entry levels based on recent local highs and lows.
• Placing pending stop orders to enter the market when those levels are breached.
• Filtering orders by time, ensuring trades are only taken during specified hours.
• Implementing a trailing stop mechanism to secure profits once the trade moves favorably.
This approach is designed to automate BTC trading based on price action and dynamic risk management, although further enhancements (like dynamic position sizing based on RiskPercent) could be added for a more complete risk management system.
GLXY Support & Resistance ZonesHere’s a structured trading strategy for Galaxy Digital Holdings Ltd. (GLXY) based on a combination of technical analysis, market sentiment, and macro crypto market movement:
⸻
1. Timeframe
• Swing trading timeframe: 1-week to 1-month trades.
• Monitor daily and 4H charts for entries and exits.
⸻
2. Key Factors Driving GLXY
• Strongly correlated to Bitcoin and Ethereum price movement.
• Sensitive to regulatory news in Canada/US and institutional crypto adoption.
• Watch Galaxy’s quarterly earnings and treasury BTC/ETH position updates.
⸻
3. Entry Strategy
A) Technical Setup:
• Buy at major support zones:
• Key support levels: $7.00 CAD, $9.00 CAD (verify current chart levels).
• Enter long positions on bullish reversal candles at these supports.
• Breakout trades:
• Enter long positions on confirmed breakouts above significant resistance (watch volume and 1D close).
• Moving Average Confirmation:
• Only trade long if price is above the 50-day moving average and 50 MA is upward sloping.
B) Macro Confirmation:
• Only take aggressive long positions if BTC price is in an uptrend (above its own 50-day MA).
• Monitor ETH/BTC pair as additional confidence for alt sentiment.
⸻
4. Exit Strategy
• First partial profit target: Previous swing highs or Fibonacci extension levels (commonly 1.272 or 1.618).
• Trailing stop: Move stop-loss to entry when trade is +10%.
• Hard stop-loss: Below the last daily support (2-5% risk).
⸻
5. Diversification
• Do not exceed 5-7% of total portfolio per trade.
• Hedge exposure by monitoring crypto futures or crypto sentiment indexes (eg. Fear & Greed Index).
⸻
6. Optional Short Setup
• Only short if price breaks major support with strong volume, and BTC/ETH are in confirmed downtrends.
• Short target: next daily support zone.
⸻
7. News / Event-based Catalyst
• Enter small positions before major earnings or after big regulatory decisions if crypto sentiment is bullish.
⸻
8. Review
• Reassess the strategy every month based on BTC market structure.
• Track your trade results for GLXY separately to refine position sizing and entry criteria.
⸻
Stop/Take BoundsThe Stop/Take Bounds indicator is tool for setting dynamic stop-loss and take-profit levels based on percentage distance from the price. Unlike traditional ATR-based methods, this indicator allows traders to set stop levels as a fixed percentage of the price and define the take-profit multiple.
- Stop-loss distanceis determined as a percentage of the current price (e.g., 1% means the stop-loss is always 1% away from the price).
- Take-profit distance is calculated by multiplying the stop-loss distance by a user-defined multiplier (e.g., a multiplier of 2 places the take-profit level twice as far as the stop-loss).
- The indicator plots red lines for stop-loss levels and green lines for take-profit levels, making it easy to visualize risk-to-reward scenarios.
How to Use
1. Set Stop-Loss Distance (%) – Define how far the stop-loss should be from the price.
2. Set Take-Profit Multiplier – Choose how many times larger the take-profit should be compared to the stop-loss.
3. Apply to Long and Short Trades – The indicator automatically plots levels for both long and short positions.
4. Use in Manual or Algorithmic Trading – Ideal for discretionary traders as well as for integration into algorithmic strategies.
Use Cases
- Risk Management – Helps maintain disciplined risk-to-reward ratios.
- Strategy Development – Can be used in the creation of algorithmic trading systems.
- Trailing Stop Simulation – Can act as a trailing stop mechanism when used dynamically.
This indicator is a great addition to any trading strategy!
4Vietnamese 3x SupertrendThis strategy attempts to capture long positions in the Vietnamese stock market using a combination of three Supertrend indicators and additional filters. It utilizes pyramiding to enter up to three long positions with a 33.33% allocation each.
Key Elements:
Supertrend Indicators: Three Supertrend indicators are used with different lengths and multipliers to identify potential trend changes.
Entry Conditions:
The strategy looks for a downtrend on the slowest Supertrend (Supertrend3) followed by uptrends on the medium (Supertrend2) and fast (Supertrend1) Supertrends.
Alternatively, if Supertrend3 is still downtrending, but Supertrend1 is downtrending and a significant previous high (highestGreen) exists, an entry signal is generated.
An optional filter allows using the highest of the last two red candles for highestGreen calculation.
Entry Stop Loss:
An optional stop loss can be set based on the entry price of previous long positions, preventing further losses if the price falls below entry prices.
Exit Conditions:
Three exit options are available:
- All Downtrend Exit: Close all positions if all Supertrends turn uptrend and a bearish candlestick pattern (close price lower than open price) is formed.
- Average Price in Loss Exit: Close all positions if the average entry price of open positions is higher than the current closing price (indicating a loss).
- All Positions in Loss Exit: Close all positions if any of the following conditions are met:
A single open position exists, and its entry price is higher than the current close price.
Two open positions exist, and their entry prices are both higher than the current close price.
Three open positions exist, and their entry prices are all higher than the current close price.
Pyramiding: The strategy allows entering up to three long positions with a fixed allocation of 33.33% each.
Customization Options:
The strategy provides various input parameters to customize its behavior:
Supertrend lengths and multipliers for each indicator.
Option to use the highest of the last two red candles for highestGreen calculation.
Enabling/disabling Entry Stop Loss and different exit conditions.
Further Enhancements:
Explore additional entry and exit filters to refine trade signals.
Consider incorporating risk management techniques like position sizing and trailing stops.
Backtest the strategy with historical data to evaluate its effectiveness and identify potential areas for improvement.
Uptrick: Volatility Reversion BandsUptrick: Volatility Reversion Bands is an indicator designed to help traders identify potential reversal points in the market by combining volatility and momentum analysis within one comprehensive framework. It calculates dynamic bands around a simple moving average and issues signals when price interacts with these bands. Below is a fully expanded description, structured in multiple sections, detailing originality, usefulness, uniqueness, and the purpose behind blending standard deviation-based and ATR-based concepts. All references to code have been removed to focus on the written explanation only.
Section 1: Overview
Uptrick: Volatility Reversion Bands centers on a moving average around which various bands are constructed. These bands respond to changes in price volatility and can help gauge potential overbought or oversold conditions. Signals occur when the price moves beyond certain thresholds, which may imply a reversal or significant momentum shift.
Section 2: Originality, Usefulness, Uniqness, Purpose
This indicator merges two distinct volatility measurements—Bollinger Bands and ATR—into one cohesive system. Bollinger Bands use standard deviation around a moving average, offering a baseline for what is statistically “normal” price movement relative to a recent mean. When price hovers near the upper band, it may indicate overbought conditions, whereas price near the lower band suggests oversold conditions. This straightforward construction often proves invaluable in moderate-volatility settings, as it pinpoints likely turning points and gauges a market’s typical trading range.
Yet Bollinger Bands alone can falter in conditions marked by abrupt volatility spikes or sudden gaps that deviate from recent norms. Intraday news, earnings releases, or macroeconomic data can alter market behavior so swiftly that standard-deviation bands do not keep pace. This is where ATR (Average True Range) adds an important layer. ATR tracks recent highs, lows, and potential gaps to produce a dynamic gauge of how much price is truly moving from bar to bar. In quieter times, ATR contracts, reflecting subdued market activity. In fast-moving markets, ATR expands, exposing heightened volatility on each new bar.
By overlaying Bollinger Bands and ATR-based calculations, the indicator achieves a broader situational awareness. Bollinger Bands excel at highlighting relative overbought or oversold areas tied to an established average. ATR simultaneously scales up or down based on real-time market swings, signaling whether conditions are calm or turbulent. When combined, this means a price that barely crosses the Bollinger Band but also triggers a high ATR-based threshold is likely experiencing a volatility surge that goes beyond typical market fluctuations. Conversely, a price breach of a Bollinger Band when ATR remains low may still warrant attention, but not necessarily the same urgency as in a high-volatility regime.
The resulting synergy offers balanced, context-rich signals. In a strong trend, the ATR layer helps confirm whether an apparent price breakout really has momentum or if it is just a temporary spike. In a range-bound market, standard deviation-based Bollinger Bands define normal price extremes, while ATR-based extensions highlight whether a breakout attempt has genuine force behind it. Traders gain clarity on when a move is both statistically unusual and accompanied by real volatility expansion, thus carrying a higher probability of a directional follow-through or eventual reversion.
Practical advantages emerge across timeframes. Scalpers in fast-paced markets appreciate how ATR-based thresholds update rapidly, revealing if a sudden price push is routine or exceptional. Swing traders can rely on both indicators to filter out false signals in stable conditions or identify truly notable moves. By calibrating to changes in volatility, the merged system adapts naturally whether the market is trending, ranging, or transitioning between these phases.
In summary, combining Bollinger Bands (for a static sense of standard-deviation-based overbought/oversold zones) with ATR (for a dynamic read on current volatility) yields an adaptive, intuitive indicator. Traders can better distinguish fleeting noise from meaningful expansions, enabling more informed entries, exits, and risk management. Instead of relying on a single yardstick for all market conditions, this fusion provides a layered perspective, encouraging traders to interpret price moves in the broader context of changing volatility.
Section 3: Why Bollinger Bands and ATR are combined
Bollinger Bands provide a static snapshot of volatility by computing a standard deviation range above and below a central average. ATR, on the other hand, adapts in real time to expansions or contractions in market volatility. When combined, these measures offset each other’s limitations: Bollinger Bands add structure (overbought and oversold references), and ATR ensures responsiveness to rapid price shifts. This synergy helps reduce noisy signals, particularly during sudden market turbulence or extended consolidations.
Section 4: User Inputs
Traders can adjust several parameters to suit their preferences and strategies. These typically include:
1. Lookback length for calculating the moving average and standard deviation.
2. Multipliers to control the width of Bollinger Bands.
3. An ATR multiplier to set the distance for additional reversal bands.
4. An option to display weaker signals when the price merely approaches but does not cross the outer bands.
Section 5: Main Calculations
At the core of this indicator are four important steps:
1. Calculate a basis using a simple moving average.
2. Derive Bollinger Bands by adding and subtracting a product of the standard deviation and a user-defined multiplier.
3. Compute ATR over the same lookback period and multiply it by the selected factor.
4. Combine ATR-based distance with the Bollinger Bands to set the outer reversal bands, which serve as stronger signal thresholds.
Section 6: Signal Generation
The script interprets meaningful reversal points when the price:
1. Crosses below the lower outer band, potentially highlighting oversold conditions where a bullish reversal may occur.
2. Crosses above the upper outer band, potentially indicating overbought conditions where a bearish reversal may develop.
Section 7: Visualization
The indicator provides visual clarity through labeled signals and color-coded references:
1. Distinct colors for upper and lower reversal bands.
2. Markers that appear above or below bars to denote possible buying or selling signals.
3. A gradient bar color scheme indicating a bar’s position between the lower and upper bands, helping traders quickly see if the price is near either extreme.
Section 8: Weak Signals (Optional)
For those preferring early cues, the script can highlight areas where the price nears the outer bands. When weak signals are enabled:
1. Bars closer to the upper reversal zone receive a subtle marker suggesting a less robust, yet still noteworthy, potential selling area.
2. Bars closer to the lower reversal zone receive a subtle marker suggesting a less robust, yet still noteworthy, potential buying area.
Section 9: Simplicity, Effectiveness, and Lower Timeframes
Although combining standard deviation and ATR involves sophisticated volatility concepts, this indicator is visually straightforward. Reversal bands and gradient-colored bars make it easy to see at a glance when price approaches or crosses a threshold. Day traders operating on lower timeframes benefit from such clarity because it helps filter out minor fluctuations and focus on more meaningful signals.
Section 10: Adaptability across Market Phases
Because both the standard deviation (for Bollinger Bands) and ATR adapt to changing volatility, the indicator naturally adjusts to various environments:
1. Trending: The additional ATR-based outer bands help distinguish between temporary pullbacks and deeper reversals.
2. Ranging: Bollinger Bands often remain narrower, identifying smaller reversals, while the outer ATR bands remain relatively close to the main bands.
Section 11: Reduced Noise in High-Volatility Scenarios
By factoring ATR into the band calculations, the script widens or narrows the thresholds during rapid market fluctuations. This reduces the amount of false triggers typically found in indicators that rely solely on fixed calculations, preventing overreactions to abrupt but short-lived price spikes.
Section 12: Incorporation with Other Technical Tools
Many traders combine this indicator with oscillators such as RSI, MACD, or Stochastic, as well as volume metrics. Overbought or oversold signals in momentum oscillators can provide additional confirmation when price reaches the outer bands, while volume spikes may reinforce the significance of a breakout or potential reversal.
Section 13: Risk Management Considerations
All trading strategies carry risk. This indicator, like any tool, can and does produce losing trades if price unexpectedly reverses again or if broader market conditions shift rapidly. Prudent traders employ protective measures:
1. Stop-loss orders or trailing stops.
2. Position sizing that accounts for market volatility.
3. Diversification across different asset classes when possible.
Section 14: Overbought and Oversold Identification
Standard Bollinger Bands highlight regions where price might be overextended relative to its recent average. The extended ATR-based reversal bands serve as secondary lines of defense, identifying moments when price truly stretches beyond typical volatility bounds.
Section 15: Parameter Customization for Different Needs
Users can tailor the script to their unique preferences:
1. Shorter lookback settings yield faster signals but risk more noise.
2. Higher multipliers spread the bands further apart, filtering out small moves but generating fewer signals.
3. Longer lookback periods smooth out market noise, often leading to more stable but less frequent trading cues.
Section 16: Examples of Different Trading Styles
1. Day Traders: Often reduce the length to capture quick price swings.
2. Swing Traders: May use moderate lengths such as 20 to 50 bars.
3. Position Traders: Might opt for significantly longer settings to detect macro-level reversals.
Section 17: Performance Limitations and Reality Check
No technical indicator is free from false signals. Sudden fundamental news events, extreme sentiment changes, or low-liquidity conditions can render signals less reliable. Backtesting and forward-testing remain essential steps to gauge whether the indicator aligns well with a trader’s timeframe, risk tolerance, and instrument of choice.
Section 18: Merging Volatility and Momentum
A critical uniqueness of this indicator lies in how it merges Bollinger Bands (standard deviation-based) with ATR (pure volatility measure). Bollinger Bands provide a relative measure of price extremes, while ATR dynamically reacts to market expansions and contractions. Together, they offer an enhanced perspective on potential market turns, ideally reducing random noise and highlighting moments where price has traveled beyond typical bounds.
Section 19: Purpose of this Merger
The fundamental purpose behind blending standard deviation measures with real-time volatility data is to accommodate different market behaviors. Static standard deviation alone can underreact or overreact in abnormally volatile conditions. ATR alone lacks a baseline reference to normality. By merging them, the indicator aims to provide:
1. A versatile dynamic range for both typical and extreme moves.
2. A filter against frequent whipsaws, especially in choppy environments.
3. A visual framework that novices and experts can interpret rapidly.
Section 20: Summary and Practical Tips
Uptrick: Volatility Reversion Bands offers a powerful tool for traders looking to combine volatility-based signals with momentum-derived reversals. It emphasizes clarity through color-coded bars, defined reversal zones, and optional weak signal markers. While potentially useful across all major timeframes, it demands ongoing risk management, realistic expectations, and careful study of how signals behave under different market conditions. No indicator serves as a crystal ball, so integrating this script into an overall strategy—possibly alongside volume data, fundamentals, or momentum oscillators—often yields the best results.
Disclaimer and Educational Use
This script is intended for educational and informational purposes. It does not constitute financial advice, nor does it guarantee trading success. Sudden economic events, low-liquidity times, and unexpected market behaviors can all undermine technical signals. Traders should use proper testing procedures (backtesting and forward-testing) and maintain disciplined risk management measures.
Triple CCI Strategy MFI Confirmed [Skyrexio]Overview
Triple CCI Strategy MFI Confirmed leverages 3 different periods Commodity Channel Index (CCI) indicator in conjunction Money Flow Index (MFI) and Exponential Moving Average (EMA) to obtain the high probability setups. Fast period CCI is used for having the high probability to enter in the direction of short term trend, middle and slow period CCI are used for confirmation, if market now likely in the mid and long-term uptrend. MFI is used to confirm trade with the money inflow/outflow with the high probability. EMA is used as an additional trend filter. Moreover, strategy uses exponential moving average (EMA) to trail the price when it reaches the specific level. More information in "Methodology" and "Justification of Methodology" paragraphs. The strategy opens only long trades.
Unique Features
Dynamic stop-loss system: Instead of fixed stop-loss level strategy utilizes average true range (ATR) multiplied by user given number subtracted from the position entry price as a dynamic stop loss level.
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Four layers trade filtering system: Strategy utilizes two different period CCI indicators, MFI and EMA indicators to confirm the signals produced by fast period CCI.
Trailing take profit level: After reaching the trailing profit activation level scrip activate the trailing of long trade using EMA. More information in methodology.
Methodology
The strategy opens long trade when the following price met the conditions:
Fast period CCI shall crossover the zero-line.
Slow and Middle period CCI shall be above zero-lines.
Price shall close above the EMA. Crossover is not obligatory
MFI shall be above 50
When long trade is executed, strategy set the stop-loss level at the price ATR multiplied by user-given value below the entry price. This level is recalculated on every next candle close, adjusting to the current market volatility.
At the same time strategy set up the trailing stop validation level. When the price crosses the level equals entry price plus ATR multiplied by user-given value script starts to trail the price with EMA. If price closes below EMA long trade is closed. When the trailing starts, script prints the label “Trailing Activated”.
Strategy settings
In the inputs window user can setup the following strategy settings:
ATR Stop Loss (by default = 1.75)
ATR Trailing Profit Activation Level (by default = 2.25)
CCI Fast Length (by default = 14, used for calculation short term period CCI)
CCI Middle Length (by default = 25, used for calculation short term period CCI)
CCI Slow Length (by default = 50, used for calculation long term period CCI)
MFI Length (by default = 14, used for calculation MFI
EMA Length (by default = 50, period of EMA, used for trend filtering EMA calculation)
Trailing EMA Length (by default = 20)
User can choose the optimal parameters during backtesting on certain price chart.
Justification of Methodology
Before understanding why this particular combination of indicator has been chosen let's briefly explain what is CCI, MFI and EMA.
The Commodity Channel Index (CCI) is a momentum-based technical indicator that measures the deviation of a security's price from its average price over a specific period. It helps traders identify overbought or oversold conditions and potential trend reversals.
The CCI formula is:
CCI = (Typical Price − SMA) / (0.015 × Mean Deviation)
Typical Price (TP): This is calculated as the average of the high, low, and closing prices for the period.
Simple Moving Average (SMA): This is the average of the Typical Prices over a specific number of periods.
Mean Deviation: This is the average of the absolute differences between the Typical Price and the SMA.
The result is a value that typically fluctuates between +100 and -100, though it is not bounded and can go higher or lower depending on the price movement.
The Money Flow Index (MFI) is a technical indicator that measures the strength of money flowing into and out of a security. It combines price and volume data to assess buying and selling pressure and is often used to identify overbought or oversold conditions. The formula for MFI involves several steps:
1. Calculate the Typical Price (TP):
TP = (high + low + close) / 3
2. Calculate the Raw Money Flow (RMF):
Raw Money Flow = TP × Volume
3. Determine Positive and Negative Money Flow:
If the current TP is greater than the previous TP, it's Positive Money Flow.
If the current TP is less than the previous TP, it's Negative Money Flow.
4. Calculate the Money Flow Ratio (MFR):
Money Flow Ratio = Sum of Positive Money Flow (over n periods) / Sum of Negative Money Flow (over n periods)
5. Calculate the Money Flow Index (MFI):
MFI = 100 − (100 / (1 + Money Flow Ratio))
MFI above 80 can be considered as overbought, below 20 - oversold.
The Exponential Moving Average (EMA) is a type of moving average that places greater weight and significance on the most recent data points. It is widely used in technical analysis to smooth price data and identify trends more quickly than the Simple Moving Average (SMA).
Formula:
1. Calculate the multiplier
Multiplier = 2 / (n + 1) , Where n is the number of periods.
2. EMA Calculation
EMA = (Current Price) × Multiplier + (Previous EMA) × (1 − Multiplier)
This strategy leverages Fast period CCI, which shall break the zero line to the upside to say that probability of short term trend change to the upside increased. This zero line crossover shall be confirmed by the Middle and Slow periods CCI Indicators. At the moment of breakout these two CCIs shall be above 0, indicating that there is a high probability that price is in middle and long term uptrend. This approach increases chances to have a long trade setup in the direction of mid-term and long-term trends when the short-term trend starts to reverse to the upside.
Additionally strategy uses MFI to have a greater probability that fast CCI breakout is confirmed by this indicator. We consider the values of MFI above 50 as a higher probability that trend change from downtrend to the uptrend is real. Script opens long trades only if MFI is above 50. As you already know from the MFI description, it incorporates volume in its calculation, therefore we have another one confirmation factor.
Finally, strategy uses EMA an additional trend filter. It allows to open long trades only if price close above EMA (by default 50 period). It increases the probability of taking long trades only in the direction of the trend.
ATR is used to adjust the strategy risk management to the current market volatility. If volatility is low, we don’t need the large stop loss to understand the there is a high probability that we made a mistake opening the trade. User can setup the settings ATR Stop Loss and ATR Trailing Profit Activation Level to realize his own risk to reward preferences, but the unique feature of a strategy is that after reaching trailing profit activation level strategy is trying to follow the trend until it is likely to be finished instead of using fixed risk management settings. It allows sometimes to be involved in the large movements. It’s also important to make a note, that script uses another one EMA (by default = 20 period) as a trailing profit level.
Backtest Results
Operating window: Date range of backtests is 2022.04.01 - 2024.11.25. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 50%
Maximum Single Position Loss: -4.13%
Maximum Single Profit: +19.66%
Net Profit: +5421.21 USDT (+54.21%)
Total Trades: 108 (44.44% win rate)
Profit Factor: 2.006
Maximum Accumulated Loss: 777.40 USDT (-7.77%)
Average Profit per Trade: 50.20 USDT (+0.85%)
Average Trade Duration: 44 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 2h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
ORB with ATR Trailing SL [Bluechip Algos]This is a simple ORB (Opening Range Breakout) Indicator that not only signals breakout directions based on the opening session range but also includes trailing stop levels to manage ongoing trades. Instead of regular fixed Stop loss, we use ATR indicator (ATR based SL) to trail the stop loss that might help in maximizing the profitable trades. This helps especially during the trending days where market moves unidirectionally.
About the Indicator
Opening Range Identification: The indicator defines an initial session timeframe and captures the highest and lowest prices during this period.
Breakout Signals: It signals potential entry points when the price crosses these range boundaries.
Trailing Stop Calculation: Customizable trailing stop-loss based on ATR percentage, helping users lock in profits.
Features
Session Customization: User-defined session for setting the opening range.
Entry Signal Customization: Allows configuration for breakouts on either a closing basis or upon touching the level.
Automatic Stop-Loss Adjustments: Dynamic trailing stop levels that adapt to both long and short entries.
Visual Display: Highlights breakout levels and plots lines representing stop-loss levels.
Understanding the Indicator
Range Calculation: After defining the session, the high and low of the session are locked. The high serves as the upper breakout boundary, and the low as the lower boundary.
Signals (Buy and Sell): The indicator uses crossover conditions:
Buy Signal ("B") when price crosses above the ORB high.
Sell Signal ("S") when price crosses below the ORB low.
Trail Stop Calculation: When a signal is triggered, a trailing stop level is set and updates as the trade progresses:
Long positions have a stop-loss based on a percentage below the last closing price.
Short positions have a stop-loss based on a percentage above the last closing price.
Input Parameters
Session Time (ORB Session Time): Start and end times for setting the ORB range.
Signal Configuration: Choice between "CLOSE" (signal on close) or "TOUCH" (signal as soon as level is touched).
ATR Percentage: Sets the percentage for the trailing stop calculation.
Stoch RSI and RSI Buy/Sell Signals with MACD Trend FilterDescription of the Indicator
This Pine Script is designed to provide traders with buy and sell signals based on the combination of Stochastic RSI, RSI, and MACD indicators, enhanced by the confirmation of candle colors. The primary goal is to facilitate informed trading decisions in various market conditions by utilizing different indicators and their interactions. The script allows customization of various parameters, providing flexibility for traders to adapt it to their specific trading styles.
Usefulness
This indicator is not just a mashup of existing indicators; it integrates the functionality of multiple momentum and trend-detection methods into a cohesive trading tool. The combination of Stochastic RSI, RSI, and MACD offers a well-rounded approach to analyzing market conditions, allowing traders to identify entry and exit points effectively. The inclusion of color-coded signals (strong vs. weak) further enhances its utility by providing visual cues about the strength of the signals.
How to Use This Indicator
Input Settings: Adjust the parameters for the Stochastic RSI, RSI, and MACD to fit your trading style. Set the overbought/oversold levels according to your risk tolerance.
Signal Colors:
Strong Buy Signal: Indicated by a green label and confirmed by a green candle (close > open).
Weak Buy Signal: Indicated by a blue label and confirmed by a green candle (close > open).
Strong Sell Signal: Indicated by a red label and confirmed by a red candle (close < open).
Weak Sell Signal: Indicated by an orange label and confirmed by a red candle (close < open).
Example Trading Strategy Using This Indicator
To effectively use this indicator as part of your trading strategy, follow these detailed steps:
Setup:
Timeframe : Select a timeframe that aligns with your trading style (e.g., 15-minute for intraday, 1-hour for swing trading, or daily for longer-term positions).
Indicator Settings : Customize the Stochastic RSI, RSI, and MACD parameters to suit your trading approach. Adjust overbought/oversold levels to match your risk tolerance.
Strategy:
1. Strong Buy Entry Criteria :
Wait for a strong buy signal (green label) when the RSI is at or below the oversold level (e.g., ≤ 35), indicating a deeply oversold market. Confirm that the MACD shows a decreasing trend (bearish momentum weakening) to validate a potential reversal. Ensure the current candle is green (close > open) if candle color confirmation is enabled.
Example Use : On a 1-hour chart, if the RSI drops below 35, MACD shows three consecutive bars of decreasing negative momentum, and a green candle forms, enter a buy position. This setup signals a robust entry with strong momentum backing it.
2. Weak Buy Entry Criteria :
Monitor for weak buy signals (blue label) when RSI is above the oversold level but still below the neutral (e.g., between 36 and 50). This indicates a market recovering from an oversold state but not fully reversing yet. These signals can be used for early entries with additional confirmations, such as support levels or higher timeframe trends.
Example Use : On the same 1-hour chart, if RSI is at 45, the MACD shows momentum stabilizing (not necessarily negative), and a green candle appears, consider a partial or cautious entry. Use this as an early warning for a potential bullish move, especially when higher timeframe indicators align.
3. Strong Sell Entry Criteria :
Look for a strong sell signal (red label) when RSI is at or above the overbought level (e.g., ≥ 65), signaling a strong overbought condition. The MACD should show three consecutive bars of increasing positive momentum to indicate that the bullish trend is weakening. Ensure the current candle is red (close < open) if candle color confirmation is enabled.
Example Use : If RSI reaches 70, MACD shows increasing momentum that starts to level off, and a red candle forms on a 1-hour chart, initiate a short position with a stop loss set above recent resistance. This is a high-confidence signal for potential price reversal or pullback.
4. Weak Sell Entry Criteria :
Use weak sell signals (orange label) when RSI is between the neutral and overbought levels (e.g., between 50 and 64). These can indicate potential short opportunities that might not yet be fully mature but are worth monitoring. Look for other confirmations like resistance levels or trendline touches to strengthen the signal.
Example Use : If RSI reads 60 on a 1-hour chart, and the MACD shows slight positive momentum with signs of slowing down, place a cautious sell position or scale out of existing long positions. This setup allows you to prepare for a possible downtrend.
Trade Management:
Stop Loss : For buy trades, place stop losses below recent swing lows. For sell trades, set stops above recent swing highs to manage risk effectively.
Take Profit : Target nearby resistance or support levels, apply risk-to-reward ratios (e.g., 1:2), or use trailing stops to lock in profits as price moves in your favor.
Confirmation : Align these signals with broader trends on higher timeframes. For example, if you receive a weak buy signal on a 15-minute chart, check the 1-hour or daily chart to ensure the overall trend is not bearish.
Real-World Example: Imagine trading on a 15-minute chart :
For a buy:
A strong buy signal (green) appears when the RSI dips to 32, MACD shows declining bearish momentum, and a green candle forms. Enter a buy position with a stop loss below the most recent support level.
Alternatively, a weak buy signal (blue) appears when RSI is at 47. Use this as a signal to start monitoring the market closely or enter a smaller position if other indicators (like support and volume analysis) align.
For a sell:
A strong sell signal (red) with RSI at 72 and a red candle signals to short with conviction. Place your stop loss just above the last peak.
A weak sell signal (orange) with RSI at 62 might prompt caution but can still be acted on if confirmed by declining volume or touching a resistance level.
These strategies show how to blend both strong and weak signals into your trading for more nuanced decision-making.
Technical Analysis of the Code
1. Stochastic RSI Calculation:
The script calculates the Stochastic RSI (stochRsiK) using the RSI as input and smooths it with a moving average (stochRsiD).
Code Explanation : ta.stoch(rsi, rsi, rsi, stochLength) computes the Stochastic RSI, and ta.sma(stochRsiK, stochSmoothing) applies smoothing.
2. RSI Calculation :
The RSI is computed over a user-defined period and checks for overbought or oversold conditions.
Code Explanation : rsi = ta.rsi(close, rsiLength) calculates RSI values.
3. MACD Trend Filter :
MACD is calculated with fast, slow, and signal lengths, identifying trends via three consecutive bars moving in the same direction.
Code Explanation : = ta.macd(close, macdLengthFast, macdLengthSlow, macdSignalLength) sets MACD values. Conditions like macdLine < macdLine confirm trends.
4. Buy and Sell Conditions :
The script checks Stochastic RSI, RSI, and MACD values to set buy/sell flags. Candle color filters further confirm valid entries.
Code Explanation : buyConditionMet and sellConditionMet logically check all conditions and toggles (enableStochCondition, enableRSICondition, etc.).
5. Signal Flags and Confirmation :
Flags track when conditions are met and ensure signals only appear on appropriate candle colors.
Code Explanation : Conditional blocks (if statements) update buyFlag and sellFlag.
6. Labels and Alerts :
The indicator plots "BUY" or "SELL" labels with the RSI value when signals trigger and sets alerts through alertcondition().
Code Explanation : label.new() displays the signal, color-coded for strength based on RSI.
NOTE : All strategies can be enabled or disabled in the settings, allowing traders to customize the indicator to their preferences and trading styles.
Heikin Line - TB365Heikin Line - An Enhanced Smoothed Heiken Ashi Overlay
Built on the foundation of TheBacktestGuy’s Smoothed Heiken Ashi indicator, Heikin Line takes trend analysis to the next level with versatile enhancements and adaptable settings.
This indicator offers selectable moving averages both before and after Heiken Ashi (HA) calculation, adding an additional layer of smoothness to traditional HA candles.
Key Features:
Trend Identification: Detects short and long-term trend directions with greater clarity.
Dynamic Support and Resistance: Not limited to a single line, Heikin Line creates a dynamic support/resistance zone, offering a visual “height” that adjusts with market shifts.
Trailing Stop: Effective as a trailing stop for enhanced risk management.
Trend Reversal Detection: Quickly identifies potential reversals when price crosses above or below the Heiken Ashi candle.
Improvements:
Trend Strength Visualization: Uses a cord-like appearance to reflect trend strength, making it easier to spot strong or weak trends.
Quick Reversal Detection: Enhanced responsiveness to detect rapid market reversals.
Easy Integration: Seamlessly combines with other indicators for a comprehensive trading setup.
With numerous moving average options, Heikin Line is adjustable to suit various market conditions and trading styles. Additionally, it leverages my TAExt library, so you can use it within your own strategies for added versatility.
PineConnectorLibrary "PineConnector"
This library is a comprehensive alert webhook text generator for PineConnector. It contains every possible alert syntax variation from the documentation, along with some debugging functions.
To use it, just import the library (eg. "import ZenAndTheArtOfTrading/PineConnector/1 as pc") and use pc.buy(licenseID) to send an alert off to PineConnector - assuming all your webhooks etc are set up correctly.
View the PineConnector documentation for more information on how to send the commands you're looking to send (all of this library's function names match the documentation).
all()
Usage: pc.buy(pc_id, freq=pc.all())
Returns: "all"
once_per_bar()
Usage: pc.buy(pc_id, freq=pc.once_per_bar())
Returns: "once_per_bar"
once_per_bar_close()
Usage: pc.buy(pc_id, freq=pc.once_per_bar_close())
Returns: "once_per_bar_close"
na0(value)
Checks if given value is either 'na' or 0. Useful for streamlining scripts with float user setting inputs which default values to 0 since na is unavailable as a user input default.
Parameters:
value (float) : The value to check
Returns: True if the given value is 0 or na
getDecimals()
Calculates how many decimals are on the quote price of the current market.
Returns: The current decimal places on the market quote price
truncate(number, decimals)
Truncates the given number. Required params: mumber.
Parameters:
number (float) : Number to truncate
decimals (int) : Decimal places to cut down to
Returns: The input number, but as a string truncated to X decimals
getPipSize(multiplier)
Calculates the pip size of the current market.
Parameters:
multiplier (int) : The mintick point multiplier (1 by default, 10 for FX/Crypto/CFD but can be used to override when certain markets require)
Returns: The pip size for the current market
toWhole(number)
Converts pips into whole numbers. Required params: number.
Parameters:
number (float) : The pip number to convert into a whole number
Returns: The converted number
toPips(number)
Converts whole numbers back into pips. Required params: number.
Parameters:
number (float) : The whole number to convert into pips
Returns: The converted number
debug(txt, tooltip, displayLabel)
Prints to console and generates a debug label with the given text. Required params: txt.
Parameters:
txt (string) : Text to display
tooltip (string) : Tooltip to display (optional)
displayLabel (bool) : Turns on/off chart label (default: off)
Returns: Nothing
order(licenseID, command, symbol, parameters, accfilter, comment, secret, freq, debug)
Generates an alert string. Required params: licenseID, command.
Parameters:
licenseID (string) : Your PC license ID
command (string) : Command to send
symbol (string) : The symbol to trigger this order on
parameters (string) : Other optional parameters to include
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: An alert string with valid PC syntax based on supplied parameters
market_order(licenseID, buy, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a market entry alert with relevant syntax commands. Required params: licenseID, buy, risk.
Parameters:
licenseID (string) : Your PC license ID
buy (bool) : true=buy/long, false=sell/short
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A market order alert string with valid PC syntax based on supplied parameters
buy(licenseID, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a market buy alert with relevant syntax commands. Required params: licenseID, risk.
Parameters:
licenseID (string) : Your PC license ID
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A market order alert string with valid PC syntax based on supplied parameters
sell(licenseID, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a market sell alert with relevant syntax commands. Required params: licenseID, risk.
Parameters:
licenseID (string) : Your PC license ID
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A market order alert string with valid PC syntax based on supplied parameters
closeall(licenseID, comment, secret, freq, debug)
Closes all open trades at market regardless of symbol. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closealleaoff(licenseID, comment, secret, freq, debug)
Closes all open trades at market regardless of symbol, and turns the EA off. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closelong(licenseID, symbol, comment, secret, freq, debug)
Closes all long trades at market for the given symbol. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closeshort(licenseID, symbol, comment, secret, freq, debug)
Closes all open short trades at market for the given symbol. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closelongshort(licenseID, symbol, comment, secret, freq, debug)
Closes all open trades at market for the given symbol. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closelongbuy(licenseID, risk, symbol, comment, secret, freq, debug)
Close all long positions and open a new long at market for the given symbol with given risk/contracts. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
risk (float) : Risk or contracts (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closeshortsell(licenseID, risk, symbol, comment, secret, freq, debug)
Close all short positions and open a new short at market for the given symbol with given risk/contracts. Required params: licenseID, risk.
Parameters:
licenseID (string) : Your PC license ID
risk (float) : Risk or contracts (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
newsltplong(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug)
Updates the stop loss and/or take profit of any open long trades on the given symbol with the given values. Required params: licenseID, sl and/or tp.
Parameters:
licenseID (string) : Your PC license ID
sl (float) : Stop loss pips or price (according to EA settings)
tp (float) : Take profit pips or price (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
newsltpshort(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug)
Updates the stop loss and/or take profit of any open short trades on the given symbol with the given values. Required params: licenseID, sl and/or tp.
Parameters:
licenseID (string) : Your PC license ID
sl (float) : Stop loss pips or price (according to EA settings)
tp (float) : Take profit pips or price (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closelongpct(licenseID, symbol, comment, secret, freq, debug)
Close a percentage of open long positions (according to EA settings). Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closeshortpct(licenseID, symbol, comment, secret, freq, debug)
Close a percentage of open short positions (according to EA settings). Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closelongvol(licenseID, risk, symbol, comment, secret, freq, debug)
Close all open long contracts on the current symbol until the given risk value is remaining. Required params: licenseID, risk.
Parameters:
licenseID (string) : Your PC license ID
risk (float) : The quantity to leave remaining
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
closeshortvol(licenseID, risk, symbol, comment, secret, freq, debug)
Close all open short contracts on the current symbol until the given risk value is remaining. Required params: licenseID, risk.
Parameters:
licenseID (string) : Your PC license ID
risk (float) : The quantity to leave remaining
symbol (string) : Symbol to act on (defaults to current symbol)
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
limit_order(licenseID, buy, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a limit order alert with relevant syntax commands. Required params: licenseID, buy, price, risk.
Parameters:
licenseID (string) : Your PC license ID
buy (bool) : true=buy/long, false=sell/short
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A limit order alert string with valid PC syntax based on supplied parameters
buylimit(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a buylimit order alert with relevant syntax commands. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A limit order alert string with valid PC syntax based on supplied parameters
selllimit(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a selllimit order alert with relevant syntax commands. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A limit order alert string with valid PC syntax based on supplied parameters
stop_order(licenseID, buy, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a stop order alert with relevant syntax commands. Required params: licenseID, buy, price, risk.
Parameters:
licenseID (string) : Your PC license ID
buy (bool) : true=buy/long, false=sell/short
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
buystop(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a buystop order alert with relevant syntax commands. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
sellstop(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Generates a sellstop order alert with relevant syntax commands. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
cancel_neworder(licenseID, order, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Cancel + place new order template function.
Parameters:
licenseID (string) : Your PC license ID
order (string) : Cancel order type
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
cancellongbuystop(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Cancels all long orders with the specified symbol and places a new buystop order. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
cancellongbuylimit(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Cancels all long orders with the specified symbol and places a new buylimit order. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
cancelshortsellstop(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Cancels all short orders with the specified symbol and places a sellstop order. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
cancelshortselllimit(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug)
Cancels all short orders with the specified symbol and places a selllimit order. Required params: licenseID, price, risk.
Parameters:
licenseID (string) : Your PC license ID
price (float) : Price or pips to set limit order (according to EA settings)
risk (float) : Risk quantity (according to EA settings)
sl (float) : Stop loss distance in pips or price
tp (float) : Take profit distance in pips or price
betrigger (float) : Breakeven will be activated after the position gains this number of pips
beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
traildist (float) : Distance of the trailing stop-loss from current price
trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
atrperiod (int) : ATR averaging period
atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
symbol (string) : The symbol to trigger this order on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment (maximum 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A stop order alert string with valid PC syntax based on supplied parameters
cancellong(licenseID, symbol, accfilter, comment, secret, freq, debug)
Cancels all pending long orders with the specified symbol. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A cancel long alert command
cancelshort(licenseID, symbol, accfilter, comment, secret, freq, debug)
Cancels all pending short orders with the specified symbol. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: A cancel short alert command
newsltpbuystop(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug)
Updates the stop loss and/or take profit of any pending buy stop orders on the given symbol. Required params: licenseID, sl and/or tp.
Parameters:
licenseID (string) : Your PC license ID
sl (float) : Stop loss pips or price (according to EA settings)
tp (float) : Take profit pips or price (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
newsltpbuylimit(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug)
Updates the stop loss and/or take profit of any pending buy limit orders on the given symbol. Required params: licenseID, sl and/or tp.
Parameters:
licenseID (string) : Your PC license ID
sl (float) : Stop loss pips or price (according to EA settings)
tp (float) : Take profit pips or price (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
newsltpsellstop(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug)
Updates the stop loss and/or take profit of any pending sell stop orders on the given symbol. Required params: licenseID, sl and/or tp.
Parameters:
licenseID (string) : Your PC license ID
sl (float) : Stop loss pips or price (according to EA settings)
tp (float) : Take profit pips or price (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
newsltpselllimit(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug)
Updates the stop loss and/or take profit of any pending sell limit orders on the given symbol. Required params: licenseID, sl and/or tp.
Parameters:
licenseID (string) : Your PC license ID
sl (float) : Stop loss pips or price (according to EA settings)
tp (float) : Take profit pips or price (according to EA settings)
symbol (string) : Symbol to act on (defaults to current symbol)
accfilter (float) : Optional minimum account balance filter
comment (string) : Optional comment to include (max 20 characters)
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
eaoff(licenseID, secret, freq, debug)
Turns the EA off. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
eaon(licenseID, secret, freq, debug)
Turns the EA on. Required params: licenseID.
Parameters:
licenseID (string) : Your PC license ID
secret (string) : Optional secret key (must be enabled in dashboard)
freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
debug (bool) : Turns on/off debug label
Returns: The required alert syntax as a string
Confluence StrategyOverview of Confluence Strategy
The Confluence Strategy in trading refers to the combination of multiple technical indicators, support/resistance levels, and chart patterns to identify high-probability trading opportunities. The idea is that when several indicators agree on a price movement, the likelihood of that movement being successful increases.
Key Components
Technical Indicators:
Moving Averages (MA): Commonly used to determine the trend direction. Look for crossovers (e.g., the 50-day MA crossing above the 200-day MA).
Relative Strength Index (RSI): Helps identify overbought or oversold conditions. A reading above 70 may indicate overbought conditions, while below 30 suggests oversold.
MACD (Moving Average Convergence Divergence): Useful for spotting changes in momentum. Look for MACD crossovers and divergence from price.
Support and Resistance Levels:
Identify key levels where price has historically reversed. These can be drawn from previous highs/lows, Fibonacci retracement levels, or psychological price levels.
Chart Patterns:
Patterns like head and shoulders, double tops/bottoms, or flags can indicate potential reversals or continuations in price.
Strategy Implementation
Set Up Your Chart:
Add the desired indicators (e.g., MA, RSI, MACD) to your TradingView chart.
Mark significant support and resistance levels.
Identify Confluence Points:
Look for situations where multiple indicators align. For instance, if the price is near a support level, the RSI is below 30, and the MACD shows bullish divergence, this may signal a buying opportunity.
Entry and Exit Points:
Entry: Place a trade when your confluence conditions are met. Use limit orders for better prices.
Exit: Set profit targets based on resistance levels or use trailing stops. Consider the risk-reward ratio to ensure your trades are favorable.
Risk Management:
Always implement stop-loss orders to protect against unexpected market moves. Position size should reflect your risk tolerance.
Example of a Confluence Trade
Setup:
Price approaches a strong support level.
RSI shows oversold conditions (below 30).
The 50-day MA is about to cross above the 200-day MA (bullish crossover).
Action:
Enter a long position as the conditions align.
Set a stop loss just below the support level and a take profit at the next resistance level.
Conclusion
The Confluence Strategy can significantly enhance trading accuracy by ensuring that multiple indicators support a trade decision. Traders on TradingView can customize their indicators and charts to fit their personal trading styles, making it a flexible approach to technical analysis.
Stochastic RSI OHLC StrategyThe script titled "Stochastic RSI High Low Close Bars" is a versatile trading strategy implemented in Pine Script, designed for TradingView. Here's an overview of its features:
Description
This strategy leverages the Stochastic RSI to determine entry and exit signals in the market, focusing on high, low, and close values of the indicator. It incorporates various trading styles, stop-loss mechanisms, and multi-timeframe analysis to adapt to different market conditions.
Key Features
Stochastic RSI Analysis:
Uses the Stochastic RSI to identify potential entry points for long and short positions.
Tracks high, low, and close values for more granular analysis.
Multiple Trading Styles:
Supports diverse trading styles like Volume Color Swing, RSI Divergence, RSI Pullback, and more.
Allows switching between these styles to suit market dynamics.
Session-Based Trading:
Offers session control, limiting trades to specific hours (e.g., NY sessions).
Can close all positions at the end of the trading day.
Stop-Loss and Take-Profit Mechanisms:
Includes both static and dynamic stop-losses, with options for time-based stops, trailing stops, and momentum-based exits.
Customizable take-profit levels ensure efficient trade management.
Volume Analysis:
Integrates volume indicators to add a bias for trade entries and exits, enhancing signal reliability.
Multi-Timeframe Integration:
Employs multi-timeframe RSI analysis, allowing the strategy to capture broader trends and optimize entries.
This script is designed to provide flexibility and adaptability, making it useful for different trading strategies and market conditions. It is suitable for traders looking to refine their entries and exits with a focus on the Stochastic RSI.
XAU/USD Strategy with Correct ADX and Bollinger Bands Fill1. *Indicators Used*:
- *Exponential Moving Averages (EMAs)*: Two EMAs (20-period and 50-period) are used to identify the trend direction and potential entry points based on crossovers.
- *Relative Strength Index (RSI)*: A momentum oscillator that measures the speed and change of price movements. It identifies overbought and oversold conditions.
- *Bollinger Bands*: These consist of a middle line (simple moving average) and two outer bands (standard deviations away from the middle). They help to identify price volatility and potential reversal points.
- *Average Directional Index (ADX)*: This indicator quantifies trend strength. It's derived from the Directional Movement Index (DMI) and helps confirm the presence of a strong trend.
- *Average True Range (ATR)*: Used to calculate position size based on volatility, ensuring that trades align with the trader's risk tolerance.
2. *Entry Conditions*:
- *Long Entry*:
- The 20 EMA crosses above the 50 EMA (indicating a potential bullish trend).
- The RSI is below the oversold level (30), suggesting the asset may be undervalued.
- The price is below the lower Bollinger Band, indicating potential price reversal.
- The ADX is above a specified threshold (25), confirming that there is sufficient trend strength.
- *Short Entry*:
- The 20 EMA crosses below the 50 EMA (indicating a potential bearish trend).
- The RSI is above the overbought level (70), suggesting the asset may be overvalued.
- The price is above the upper Bollinger Band, indicating potential price reversal.
- The ADX is above the specified threshold (25), confirming trend strength.
3. *Position Sizing*:
- The script calculates the position size dynamically based on the trader's risk per trade (expressed as a percentage of the total capital) and the ATR. This ensures that the trader does not risk more than the specified percentage on any single trade, adjusting the position size according to market volatility.
4. *Exit Conditions*:
- The strategy uses a trailing stop-loss mechanism to secure profits as the price moves in the trader's favor. The trailing stop is set at a percentage (1.5% by default) below the highest price reached since entry for long positions and above the lowest price for short positions.
- Additionally, if the RSI crosses back above the overbought level while in a long position or below the oversold level while in a short position, the position is closed to prevent losses.
5. *Alerts*:
- Alerts are set to notify the trader when a buy or sell condition is met based on the strategy's rules. This allows for timely execution of trades.
### Summary
This strategy aims to capture significant price movements in the XAU/USD market by combining trend-following (EMAs, ADX) and momentum indicators (RSI, Bollinger Bands). The dynamic position sizing based on ATR helps manage risk effectively. By implementing trailing stops and alert mechanisms, the strategy enhances the trader's ability to act quickly on opportunities while mitigating potential losses.